// ObserverMsg.cpp: implementation of the CObserverMsg class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "../AskTSAPI.h"
#include "ObserverMsg.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CObserverMsg::CObserverMsg()
{

}

CObserverMsg::~CObserverMsg()
{

}

BOOL CObserverMsg::ParaAskMsg(CString strAskMsg)
{
	CXmlMarkup xml;
	xml.SetDoc(strAskMsg);
	
	xml.FindElem(_T("AskPT"));
	xml.IntoElem();
	
	xml.FindElem(_T("Event"));
	m_strEvt = xml.GetAttrib(_T("Value"));
	
	bool bFind = xml.FindElem(_T("Body"));
	if(bFind)
	{
		bool bInto = xml.IntoElem();
		if(bInto)
		{
			xml.FindElem(_T("Result"));
			m_strRet = xml.GetElemContent();
			if(m_strRet == "Fail")
			{
               	xml.FindElem(_T("Cause"));
				m_strCause = xml.GetElemContent();
			}		
			xml.FindElem(_T("UserData"));
			m_strUserData = xml.GetElemContent();
			xml.OutOfElem();
		}
		else
		{
			return FALSE;
		}
	}
	else
	{
		return FALSE;
	}
	return TRUE;
}